// FrogFileListDialog.h : Declaration of the CFrogFileListDialog

#pragma once

#include "resource.h"       // main symbols
#include <atlhost.h>
#include "FrogProgressReportDialog.h"


// CFrogFileListDialog

class CFrogFileListDialog: public CFrogBaseDialog<CFrogFileListDialog>,
	public CWinDataExchange<CFrogFileListDialog>
{
public:

	CFrogFileListDialog(HICON hIcon);

	CString m_FileList;

	bool m_IncludeSubfolders;
	bool m_Indent;
	bool m_Html;

	enum { IDD = IDD_DIALOG_FILE_LIST };

	BEGIN_MSG_MAP(CFrogFileListDialog)
		MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
		COMMAND_HANDLER(IDOK, BN_CLICKED, OnClickedOK)
		COMMAND_HANDLER(IDCANCEL, BN_CLICKED, OnClickedCancel)
		COMMAND_HANDLER(IDC_CHECK_SUB_FOLDERS, BN_CLICKED, OnCheckSubfoldersBnClicked)
		COMMAND_HANDLER(IDC_RADIO_TEXT, BN_CLICKED, OnRadioTextBnClicked)
		COMMAND_HANDLER(IDC_RADIO_HTML, BN_CLICKED, OnRadioTextBnClicked)
		// FrogBaseDialog Inherited
		CHAIN_MSG_MAP(CFrogBaseDialog)
	END_MSG_MAP()

	BEGIN_DDX_MAP(CFrogFileListDialog)
		DDX_TEXT(IDC_EDIT_FILE_LIST, m_FileList)
		DDX_RADIO(IDC_RADIO_TEXT, m_OutputFileType)
		DDX_CHECK(IDC_CHECK_SUB_FOLDERS, m_IncludeSubfolders)
		DDX_CHECK(IDC_CHECK_INDENT, m_Indent)
	END_DDX_MAP()

	// Handler prototypes:
	//  LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
	//  LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
	//  LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);

	LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
	LRESULT OnClickedOK(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
	LRESULT OnCheckSubfoldersBnClicked(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
	LRESULT OnRadioTextBnClicked(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);

private:
	int m_OutputFileType;
};


